Systems and methods for virtual vehicle parking assistance background

ABSTRACT

Systems and methods for virtual vehicle parking assistance are disclosed herein. An example method includes determining a current vehicle position and vehicle dimensions of a vehicle, determining parking space dimensions of a parking space, receiving a desired parking position for the vehicle through an augmented reality interface, the augmented reality interface including a three-dimensional vehicle model based on the vehicle dimensions, the augmented reality interface being configured to allow a user to virtually place the three-dimensional vehicle model in the parking space to determine the desired parking position, determining a virtual parking procedure for the vehicle based on the desired parking position selected by the user and the parking space dimensions of a parking space and causing the vehicle to autonomously park based on the virtual parking procedure.

BACKGROUND

The effort required to safely and accurately park a vehicle in a desiredspace greatly affects the customer experience of a driver. Variousvehicle parking assistance systems exist to minimize the driver's burdenof parking a vehicle, especially in a narrow space, including automaticparking and remote parking using a mobile device, such as a smartphone.

However, there are several challenges in current solutions. For example,it may be difficult to determine if a parking space is large enough forvehicle entry. A non-centered/non-standardized vehicle position issometimes preferred by a driver. In one use case, the user may desire anatypical path for ingress/egress of the vehicle, such as when the userdesires easy access to unload packages from one side of the vehicle. Inanother use case, a user may desire to align an electrical vehicle witha wireless charging device proximate to a parking space. Additionalconsiderations may be required in instances where one or more objectsare attached to the vehicle (e.g., bicycle or cargo box on the roof).These objects may be forgotten, and when the vehicle is parked, theseattached objects may potentially damage the vehicle, adjacent vehicles,and/or a parking structure.

BRIEF DESCRIPTION OF THE DRAWINGS

A detailed description is set forth regarding the accompanying drawings.The use of the same reference numerals may indicate similar or identicalitems. Various embodiments may utilize elements and/or components otherthan those illustrated in the drawings, and some elements and/orcomponents may not be present in various embodiments. Elements and/orcomponents in the figures are not necessarily drawn to scale. Throughoutthis disclosure, depending on the context, singular and pluralterminology may be used interchangeably.

FIG. 1 illustrates an example architecture in accordance with one ormore embodiments of the present disclosure.

FIG. 2 is a close-up of a screenshot of a virtual parking procedure inaccordance with one or more embodiments of the present disclosure.

FIG. 3 is a flowchart of an example method in accordance with one ormore embodiments of the present disclosure.

FIG. 4 is a flowchart an example method in accordance with one or moreembodiments of the present disclosure.

FIG. 5 is a flowchart of an example method in accordance with one ormore embodiments of the present disclosure.

DETAILED DESCRIPTION

Overview

The present disclosure pertains to systems and methods for a digitallyenhanced customized vehicle entry and parking assistant. The entry andparking assistant may use Augmented Reality (AR) technology such as AReyewear or mobile AR to determine when a parking space is a sufficientsize for the vehicle. When a vehicle is to be parked in a space, avirtual digital twin of the vehicle can be created that representsexactly the dimensional footprint of the vehicle. The driver can then“virtually park” the vehicle by positioning the digital twin into thedesired parking space.

The system includes various components that include, but are not limitedto a Vehicle Platform (VP), an Attachment Sensing Device (ASD), anAutomatic Parking System (APS), and an Augment Reality Parking Assist(ARPA). The VP, ASD, APS, and ARPA may be located at the vehicle, over aremote network, and/or a combination thereof. The VP, ASD, APS, and ARPAmay all be in communication with one another. In some instances, theARPA may be implemented as an Augmented Reality (AR) application runningon an AR device, such as AR eyewear, or a mobile device. The ARPA canalso be implemented at the vehicle level using a vehicle infotainmentsystem or other similar human-machine interface (HMI) of the vehicle.

The VP can store vehicle data, including, but not limited to, thecurrent vehicle position and the vehicle dimensions, as well ashistorical preferences, such as previous customized parking positions.

The ASD can detect whether one or more attachments, such as a cargo boxor bicycles, are attached to the vehicle. The ASD may detect any objectsattached to the vehicle. The ASD can identify the position ofattachment(s), such as at the rear of the vehicle or on the roof of thevehicle, utilizing built-in sensors on the vehicle, as well as transmitattachment status, location, and dimensions to the VP. In someinstances, additional sensors may be added to the vehicle to supplementthe build-in sensors.

The APS can receive a preferred vehicle parking location (referred toherein as a “desired parking position”) from the VP. The APS implementsalgorithms that use data about the current vehicle position and thedesired parking position and automatically calculate an optimized pathfor the vehicle. The APS can autonomously control the vehicle tonavigate this optimized path to move from the current vehicle positionto the desired parking position. In this manner, the APS mayautonomously park the vehicle.

The ARPA can display the digital twin (e.g., three-dimensional vehiclemodel) of the vehicle on the AR device, provide a user interface for thedriver to selectively position the digital twin in the desired parkingposition on the AR interface, and communicate with the VP.

In one example use case, the VP can retrieve an attachment status fromthe ASD. The VP can transmit vehicle dimensions and any attachmentstatus to the ARPA. Based on the information received from the VP, theARPA may generate a virtual vehicle, which is a three-dimensionalvehicle model. The three-dimensional vehicle model can be projected intothe AR space based on the vehicle dimensions and current position of thephysical vehicle.

The ARPA can create a bounding box around the vehicle and/or theattached object that includes the size(s) and position(s) ofattachment(s) currently attached to the vehicle. The AR device can beused to see the virtual vehicle (“digital twin”) generated above. Thedriver can position the virtual vehicle to virtually park in the desiredparking position. The manipulation operation could include a usershifting the vehicle forward/backward, left/right, and modifying thevehicle's heading through the AR display.

Once the desired parking position is chosen, a virtual parking procedurecan be executed to determine if the desired parking position can beachieved. During the virtual parking procedure, the driver maycontinually monitor the maneuver, visually verifying the entrance andspace is large enough for the vehicle and if any attachment on thevehicle will collide with a physical obstruction around the parkingspace, such as the roof of a garage. This verification process can alsobe carried out automatically inside the ARPA in which the bounding boxof virtual vehicle (virtual model or vehicle model) is compared againstthe physical parking space. The dimensions of the physical parking spacecan be scanned by depth cameras built into the AR device or the vehicleevery time the virtual vehicle moves. Any interference between the twocan be indicated to the driver through the display of the AR device.

The driver can fine-tune the desired parking position of the virtualvehicle through the AR device in order to incorporate personalpreferences for vehicle position in the parking space. For example, ifthere are space constraints on the left (e.g., another parked vehicle ora wall), the driver may want the vehicle to be biased more to the rightallowing more room on the left side for the driver to ingress/egress oreasier to load/unload packages from the left side of the vehicle. Thevirtual parking procedure can be considered to be complete when thevehicle can be moved from its current location to the desired parkingposition, and no constraints exist. That is, no potential collisions orimpingements are detected.

After the virtual parking procedure is complete, the ARPA can transmitthe customized vehicle parking position back to the VP wirelessly. TheVP conveys the desired parking position to the APS. The APS cancalculate an vehicle path (referred to herein as an “autonomous parkingprocedure”) from the current position to the desired parking positionand autonomously moves the vehicle to the desired space. Aftersuccessful parking, the VP can store the parameters for a customizedparking position. When this vehicle returns to the same parking space,the driver can choose to reuse the previously saved parameters forcustomized parking.

Illustrative Embodiments

Turning now to the drawings, FIG. 1 depicts an illustrative architecture100 in which techniques and structures of the present disclosure may beimplemented. The architecture 100 includes a vehicle 102 that isattempting to park in a parking space 104. In the example of FIG. 1 ,the parking space 104 is in a garage that is bounded by a garage ceilingor door, and the second vehicle 108 is adjacent to the parking space104. While this specific scenario will be discussed in greater detailherein, this example is for descriptive purposes only. The aspects ofthe present disclosure disclosed herein can be applied in any scenariowhere a user desires to determine if a vehicle can be parked in aparticular location prior to attempting the parking procedure.

The vehicle 102 can comprise a vehicle platform 110 that communicateswith an AR device 112 to provide a virtual parking assistance feature tothe driver of the vehicle 102. Some or all of these components in thearchitecture 100 can communicate with one another using the network 114.The network 114 can include combinations of networks that enable thecomponents in the architecture 100 to communicate with one another. Thenetwork 114 may include any one or a combination of multiple differenttypes of networks, such as cellular, cable, the Internet, wirelessnetworks, and other private and/or public networks. In some instances,the network 114 may include Wi-Fi or Wi-Fi direct. The components of thearchitecture 100 can also communicate over short-range or radiofrequencylinks such as Bluetooth or ultra-wideband (UWB).

The vehicle 102 may also comprise an attachment sensor device 118, anautomatic parking system 120, a sensor platform 122, and acommunications interface 124. The vehicle platform 116 may comprise aprocessor 126 and memory 128 for storing instructions. The processor 126executes instructions stored in memory 128 to perform any of the methodsdisclosed herein. When referring to actions performed by vehicleplatform 116 or vehicle 102, this implicitly involves the execution ofinstructions by the processor 126. In general, the vehicle platform 116can utilize the communications interface 124 to transmit and/or receivedata over the network 114 or a short-range wireless link.

The attachment sensor device 118 can include any number of sensors ormechanisms used to determine, detect, or sense the presence of anattachment or object on the vehicle 102. The attachment sensor device118 can detect whether one or more attachments, such as a cargo box orbicycles, are attached to the vehicle. If an attachment is detected, theattachment sensor device 118 can output an attachment status, attachmentlocation, and attachment dimensions to the vehicle platform 116.

An example attachment could include, but is not limited to, a bicycleand/or a wheelchair. When the vehicle is a truck, the attachment couldinclude items loosely or securely stored in a bed of the truck. In oneexample, if the attachment is a bicycle, the bicycle may be attached toa bike rack on the roof of the vehicle, or a bike rack behind thevehicle. The attachment sensor device 118 could include any sensor thatis capable of detecting the mating of the bicycle to the bicycle rack,similarly to a seatbelt buckle sensor that detects when a seatbelt hasbeen buckled. In another example, the attachment sensor device 118 couldinclude a pressure sensor that detects a weight of an object placed on aroof rack of the vehicle.

In yet another example, the attachment sensor device 118 could be usedin combination with a camera or plurality of cameras of the sensorplatform 122 of the vehicle 102 that can be used to detect attachments.For example, the attachment sensor device 118 can be used to detect thepresence of an attachment, whereas the sensor platform 122 can be usedto detect the type of attachment and/or a size (e.g., dimensions) of theattachment.

For example, the sensor platform 122 can include cameras directed toattachment sites on the vehicle. Once images are obtained, theattachment sensor device 118 can use image recognition algorithms todetect attributes of attached objects. To be sure, the sensor platform122 can include various include sensors mounted on the vehicle, such ascameras, LIDAR, IR, ultrasonic, and the like. Again, the attachmentsensor device 118 can output an attachment status, attachment location,and attachment dimensions to the vehicle platform 116.

The vehicle platform 116 can determine and/or store pertinent vehicledata, including, but not limited to, a current vehicle position andvehicle dimensions. For example, the vehicle platform 116 can obtain acurrent vehicle position from GPS signals, or using other similartechnologies. The vehicle platform 116 can obtain attachment data fromthe attachment sensor device 118 and provide the same to the AR device112, along with the current vehicle position and vehicle dimensions.

The AR device 112 can comprise a processor 130 and memory 132 forstoring instructions. The processor 130 executes instructions stored inmemory 132 to perform any of the methods disclosed herein. Whenreferring to actions performed by the AR device 112, this implicitlyinvolves the execution of instructions by the processor 130. In general,the AR device 112 can utilize the communications interface 134 totransmit and/or receive data over the network 114 or a short-rangewireless link. For example, the AR device 112 can communicate with thevehicle platform 110 over the network 114.

In general, based on the information received from the vehicle platform110, the AR device 112 can generate a virtual vehicle(“three-dimensional representation”) that is positioned in an ARdisplay, based on the vehicle dimensions and current position of thephysical vehicle. The AR device 112 can also create a bounding boxincluding the sizes and positions of all attachments currently attachedto the vehicle.

The AR device 112 can include a virtual content generator module 136, avirtual content manipulator module 138, a collision calculation andavoidance module 140, a virtual display rendering and registrationmodule 142, and parking position generator 143. The virtual contentgenerator module 136 can be configured to create a virtual replica ofthe vehicle based on vehicle size received through a communicationmodule. The virtual content generator module 136 can obtain images froma camera of a sensor platform 144 of the AR device 112. To create anaugmented reality display, the virtual content generator module 136overlays the virtual vehicle representation at the current location ofthe physical vehicle. The virtual content generator module 136 can alsogenerate the bounding boxes of all the attachments currently attached tothe vehicle.

The AR device 112 includes an AR display 146. In general, display 146can include an augmented reality interface configured to allow a user tovirtually place a three-dimensional vehicle model 148 in the parkingspace 104 to determine a desired parking position for the vehicle. TheAR display 146 includes an AR experience that comprises, if using ahand-held mobile AR or a video see-through AR wearable, images obtainedby a camera of the AR device and/or the vehicle of a parking space, withthe virtual vehicle overlaid on the images, or if using an opticalsee-through AR wearable, the virtual vehicle being directly overlaidwith the physical parking space. The AR display 146 included userinterface elements that allow a user to interact with the virtualvehicle. This can include a navigation pane 150 where the user canadjust the position of the virtual vehicle left/right, forward/back,and/or a vehicle heading to place the virtual vehicle in the desiredparking position. In the example of FIG. 1 , the vehicle model 148 canbe directed into a desired parking position in the parking space 104.The user can select the desired parking position by adjusting thevehicle using the navigation pane 150.

The user can interact with the AR device using technology such as a gazepointer, hand gesture, voice command, and so forth. For example, a depthcamera built into the AR device (the AR device can include its ownsensor platform 144 having cameras or other sensors as disclosed withrespect to the vehicle) may capture the user's hand gesture such asclick or pinch to trigger various logic in virtual content manipulatorto shift the vehicle model 148 forward/backward or left/right and changeorientation.

The virtual content manipulator module 138 can effectuate the usermanipulation of the vehicle model 148 in AR display 146, which includes,but is not limited to, shifting vehicle in different directions,toggling the display of the attachment bounding box on vehicle, and soforth.

Once the desired parking position has been selected, a virtual parkingprocedure for the vehicle can be executed based on the desired parkingposition selected by the user and the parking space dimensions of aparking space. The virtual parking procedure is a mimicked procedureallowing the virtual vehicle to be driven from its current position intothe desired parking position. Part of this process involves executingthe collision calculation and avoidance module 140 can compare surfacesof vehicle model 148 with the physical constraints of the parking spaceand its surroundings as the virtual content changes position during thevirtual parking procedure. The physical constraints (such as a wall orceiling) can be in (but not limited to) the format of athree-dimensional point cloud that can be obtained through scanning ofthe parking space and its surroundings by cameras built into the ARdevice or the vehicle.

The virtual parking procedure includes virtually moving the vehiclemodel 148 into the parking space. The dimensions of the parking spacecan be determined from vehicle sensors. The dimensions can include notonly width, but also depth (length), and height above the parking space.

The collision calculation and avoidance module 140 can determine thelikelihood of a collision based on the modeling. If a potentialcollision is detected during the virtual parking procedure, theoccurrence and position of a collision can be displayed to the driverthrough the AR display 146. For example, the collision calculation andavoidance module 140 can highlight or otherwise mark areas on thevirtual vehicle that may be impacted. The collision calculation andavoidance module 140 can also compute an alternative vehicle positionthat is the closest to the desired position and avoid the collisionthrough a collision avoidance algorithm. Thus, the desired parkingposition can be adjusted to avoid the collision. In addition tocollision, the collision calculation and avoidance module 140 can detectwhen the vehicle may be placed too close to an adjacent vehicle or otherobject making ingress/egress of the vehicle difficult.

The virtual display rendering and registration module 142 can registerthe vehicle model with the physical world utilizing the technology ofSLAM (simultaneous localization and mapping) or image marker trackingand renders the result to create the mixed reality in the AR display.After registering, the virtual content may fix or anchor to the physicalworld in space, no matter where the viewpoint of the AR device isoriented. This allows the driver to step out of the vehicle and closelymonitor the virtual parking to achieve a precise parking position.

After the driver finalizes the desired parking position through the ARdisplay 146, the parking position generator module 143 computes arelative position and orientation from the current position of thevehicle. The parking position generator module 143 transmits the resultback to the vehicle platform 110. The result can include an autonomousparking procedure that can be executed by the automatic parking system120 of the vehicle 102.

It will be understood that while the AR device has been disclosed asbeing a separate device, some or all of the functionalities of the ARdevice can be implemented at the vehicle level, as an infotainmentoption. Also, the present disclosure contemplates using an autonomousparking procedure. However, the virtual parking procedure can beperformed to allow a user to virtually park their vehicle, identifypotential collisions, and manually park the vehicle in the desiredparking position when no collisions or other warnings are determinedduring the virtual parking procedure.

During the AR-enhanced virtual parking experience, the driver maycontinually monitor parking maneuvers, visually verifying the entranceand space is large enough for the vehicle and if any attachment on thevehicle may collide with a physical obstruction around the parkingspace, such as the roof of the garage. This checking process can also becarried out automatically inside the AR device (as noted above) in whichthe bounding box of the virtual vehicle is compared against the physicalparking space scanned by depth cameras built into the AR device or thevehicle as the virtual vehicle moves during the virtual parkingprocedure. The user can also select a transparency level for the vehiclemodel 148. For example, the user can select to make the vehicle model148, allowing for the user to see what is around the vehicle model 148when parked in the desired parking position. This allows the user to atleast partially “see through” the vehicle and observe the objects aroundthe vehicle that may be obscured by the vehicle model 148.

Advantageously, the driver can fine-tune the destination position of thevirtual vehicle through the AR device in order to incorporate personalpreferences for vehicle position in the parking space. For example, ifthere are space constraints on the left (e.g., another parked vehicle ora wall), the driver may want the vehicle to be biased more to the rightallowing more room on the left side for the driver to ingress/egress oreasier to load/unload packages from the left side of the vehicle.

In sum, after the virtual parking procedure is completed, AR device 112sends back the customized vehicle parking position to the vehicleplatform 110. With the confirmation of no collision and ready to parkfrom the driver, the vehicle platform 110 conveys the desired parkingposition to the automatic parking system 120. The automatic parkingsystem 120 calculates the vehicle path from the current position to thedesired parking position and automatically moves the vehicle to thedesired space. In some instances, the automatic parking system 120converts the virtual parking procedure into an autonomous parkingprocedure.

After successful virtual parking, the vehicle platform 110 can store theparameters for a customized parking position. When this vehicle returnsto the same parking space, the driver can choose to reuse the previouslysaved parameters for customized parking.

FIG. 2 is a close-up screenshot of the AR display 146 of FIG. 1 . The ARdisplay 146 includes an image or a physical scene 154 of the parkingspace 104. The parking space 104 is located inside a garage of a home.The parking space 104 has an upper height that is bounded by a garagedoor opening 156. The second vehicle 108 is located on a left-hand sideof the garage. A driver of the vehicle would like to park the vehicle inthe parking space 104 and would like to ensure that the vehicle canenter the garage while having contents stored on its roof. In thisexample, the vehicle model 148 includes a three-dimensional model of thevehicle, which can be built based on data obtained from an originalequipment manufacturer (OEM) or another authoritative source. Thevehicle model 148 also includes a bounding box 158 that represents asize and shape of the contents stored on the roof of the vehicle. Forexample, the vehicle may have luggage stored on the roof.

In this example, the user can utilize the navigation pane 150 on the ARdisplay 146 to reposition the vehicle model 148. The navigation pane 150can include buttons to move the vehicle forward, reverse, left, andright, as well as a button that allows the user to change a heading ofthe vehicle model 148. Information regarding the parking process can bedisplayed on an information pane 152. The information pane 152 caninclude information about potential collisions, parking space size, andso forth.

In one example use case the user can select to move the vehicle model148 slightly to the right in order to ensure sufficient room for thedrive to open their door without hitting the second vehicle 108. Oncethe user has selected their desired parking position, coordinates forthe desired parking position are identified compared with the currentvehicle position. A virtual parking procedure is determined thatincludes steering and forward/reverse operations that are required todrive the vehicle from its current location to the desired parkingposition. The virtual parking procedure can also be analyzed to ensurethat the vehicle model 148 with the bounding box 158 can fit underneaththe garage door opening 156. When the overall height of the vehiclemodel 148 and bounding box 158 is equal to or possible taller than aheight of the garage door opening 156, a collision is likely and can beidentified to the driver.

As noted above, the user can request these functionalities from an ARdevice used inside the vehicle. Also, the user can request thesefunctionalities from an AR device as the user stands outside thevehicle. For example, the AR device could include a user's smartphone.The user can select a desired parking position, perform a virtualparking procedure, and monitor an autonomous parking procedure whilebeing outside the vehicle. This allows the driver to gain differentviewpoints of the vehicle as it is being driven into the parking space.The user can also signal the vehicle to an emergency stop through the ARdevice if the driver determines that the vehicle may be likely to have acollision. The parking procedure can also be terminated when a sensor ofthe vehicle senses an impending collision. For example, radar orultrasonic sensors positioned around the vehicle may sense when aportion of the vehicle is about to impact an object.

FIG. 3 is a flowchart of an example method. The method includes a step302 of determining a current vehicle position and vehicle dimensions ofa vehicle. Determining the current vehicle position can be done throughanalysis of GPS data. Determining vehicle dimensions can be accomplishedby obtaining the vehicle dimensions from memory in a vehicle platform.The vehicle dimensions could also be obtained over a network from aservice provider or other online resource.

Next, the method can include a step 304 of determining parking spacedimensions of a parking space. For example, sensors of a vehicle or ARdevice can detect the parking space dimensions. In some instances,parking space dimensions can be obtained from an infrastructureresource, such as a parking garage.

The method can include a step 306 of receiving a desired parkingposition for the vehicle through an augmented reality interface. Asnoted above, the augmented reality interface can comprise athree-dimensional vehicle model based on the vehicle dimensions. Thethree-dimensional vehicle model can be placed or overlaid onto images orthe physical scene of the parking space. The augmented reality interfacemay be configured to allow a user to virtually place thethree-dimensional vehicle model in the parking space to determine thedesired parking position. To be sure, the desired parking position iscustomizable. Thus, the driver can select not only to park in theparking space in general, but to preferentially locate their vehicleinside the parking space, rather than squarely in the middle of theparking space.

The method may also include a step 308 of determining a virtual parkingprocedure for the vehicle based on the desired parking position selectedby the user and the parking space dimensions of a parking space. Thevirtual parking procedure allows the driver to predictively analyze howthe vehicle would enter the parking space if the vehicle were to beparked in the desired parking position. The virtual parking proceduremay identify potential collisions. That is, the virtual parkingprocedure comprises determining the clearance of the vehicle withrespect to a physical object adjacent to the parking space as thevehicle is being virtually driven into the parking space during thevirtual parking procedure and virtually parked in the desired parkingposition.

When no collisions are detected, the desired parking position can beused to create an autonomous parking procedure. Thus, the methodincludes a step 310 of causing the vehicle to autonomously park based onthe virtual parking procedure. For example, the virtual parkingprocedure can be converted into specific vehicle operations that can beperformed autonomously.

The method can include storing the desired parking position to allow theuser to reuse the desired parking position. The desired parking positioncan be stored in memory of a vehicle platform for future use. In oneinstance, the method can include determining that the vehicle is at theparking space, retrieving the desired parking position that is stored inmemory, and causing the vehicle to park in the parking space at thedesired parking position.

FIG. 4 is another example method of the present disclosure. The methodcan include a step 402 of determining attachment of an accessory to thevehicle. The vehicle dimensions also comprise dimensions of theaccessory. The method can also include a step 404 of determining abounding box around the vehicle and the accessory. As noted above, thebounding box is utilized during the virtual parking procedure todetermine collisions when attachments are associated with the vehicle.

The method may also include a step 406 of generating thethree-dimensional vehicle model based on the vehicle dimensions, as wellas a step 408 of allowing the user to selectively place thethree-dimensional vehicle model in the parking space. To be sure, thevehicle model may include the bounding box created to represent theaccessories (if present).

FIG. 5 is a flowchart of yet another example method. The method caninclude a step 502 of obtaining images and/or 3D scan of a parkingspace. This can be accomplished using cameras mounted on a vehicle. Themethod can include a step 504 of generating a three-dimensional vehiclemodel based on vehicle dimensions, along with parking space dimensionsof the parking space.

The method can include a step 506 of selectively placing thethree-dimensional vehicle model using the parking space dimensions ofthe parking space. This selective placing can occur based on user inputinto an AR device that presents an AR experience that includes thevehicle model imposed on the images obtained or the physical scene ofthe parking space.

The method can further include a step 508 of determining clearance ofthe vehicle with respect to a physical object adjacent to the parkingspace as the vehicle is being virtually driven into the parking spaceduring the virtual parking procedure. This can include comparingsurfaces of the three-dimensional vehicle model with physicalconstraints imposed by the physical object as the three-dimensionalvehicle model changes position. Alternatively, the method includes astep 510 of determining a suggested parking position for the vehiclebased on the collision. The method includes a step 512 of determining anautonomous parking procedure based on the current vehicle position andthe desired parking position (or the suggested parking position).

Implementations of the systems, apparatuses, devices, and methodsdisclosed herein may comprise or utilize a special purpose orgeneral-purpose computer including computer hardware, such as, forexample, one or more processors and system memory, as discussed herein.Computer-executable instructions comprise, for example, instructions anddata which, when executed at a processor, cause a general-purposecomputer, special purpose computer, or special purpose processing deviceto perform a certain function or group of functions. An implementationof the devices, systems, and methods disclosed herein may communicateover a computer network. A “network” is defined as one or more datalinks that enable the transport of electronic data between computersystems and/or modules and/or other electronic devices.

Although the subject matter has been described in language specific tostructural features and/or methodological acts, it is to be understoodthat the subject matter defined in the appended claims may notnecessarily be limited to the described features or acts describedabove. Rather, the described features and acts are disclosed as exampleforms of implementing the claims.

While various embodiments of the present disclosure have been describedabove, it should be understood that they have been presented by way ofexample only, and not limitation. It will be apparent to persons skilledin the relevant art that various changes in form and detail can be madetherein without departing from the spirit and scope of the presentdisclosure. Thus, the breadth and scope of the present disclosure shouldnot be limited by any of the above-described exemplary embodiments butshould be defined only in accordance with the following claims and theirequivalents. The foregoing description has been presented for thepurposes of illustration and description. It is not intended to beexhaustive or to limit the present disclosure to the precise formdisclosed. Many modifications and variations are possible in light ofthe above teaching. Further, it should be noted that any or all of theaforementioned alternate implementations may be used in any combinationdesired to form additional hybrid implementations of the presentdisclosure. For example, any of the functionality described with respectto a particular device or component may be performed by another deviceor component. Conditional language, such as, among others, “can,”“could,” “might,” or “may,” unless specifically stated otherwise, orotherwise understood within the context as used, is generally intendedto convey that certain embodiments could include, while otherembodiments may not include, certain features, elements, and/or steps.Thus, such conditional language is not generally intended to imply thatfeatures, elements, and/or steps are in any way required for one or moreembodiments.

What is claimed is:
 1. A method, comprising: determining a currentvehicle position and vehicle dimensions of a vehicle; determiningparking space dimensions of a parking space; receiving a desired parkingposition for the vehicle through an augmented reality interface, theaugmented reality interface comprising a three-dimensional vehicle modelbased on the vehicle dimensions, the three-dimensional vehicle modelbeing placed onto images or a physical scene of the parking space, theaugmented reality interface being configured to allow a user tovirtually place the three-dimensional vehicle model in the parking spaceto determine the desired parking position; determining a virtual parkingprocedure for the vehicle based on the desired parking position selectedby the user and the parking space dimensions of the parking space; andcausing the vehicle to autonomously park in the desired parking positionbased on the virtual parking procedure, wherein the desired parkingspace is customizable in order to allow the vehicle to be parked offsetfrom a middle of the parking space.
 2. The method according to claim 1,wherein the virtual parking procedure comprises determining clearance ofthe vehicle with respect to a physical object adjacent to the parkingspace as the vehicle is being virtually driven into the parking spaceduring the virtual parking procedure and virtually parked in the desiredparking position without adjusting the desired parking position, andwherein the vehicle model has an adjustable transparency level in orderto allow the user to see what is around the vehicle model when parked inthe desired parking position.
 3. The method according to claim 1,further comprising storing the desired parking position to allow theuser to reuse the desired parking position.
 4. The method according toclaim 1, further comprising determining attachment of an object to thevehicle, wherein the vehicle dimensions also comprise dimensions of theattached object.
 5. The method according to claim 4, further comprisingdetermining a bounding box around the vehicle and the attached object,the bounding box being utilized during the virtual parking procedure. 6.The method according to claim 1, further comprising generating thethree-dimensional vehicle model based on the vehicle dimensions; andallowing the user to selectively place the three-dimensional vehiclemodel in the parking space.
 7. A system, comprising: a vehicle platformcomprising a processor and memory, the processor executing instructionsstored in the memory to: determine a current vehicle position andvehicle dimensions of a vehicle; and receive a desired parking positionfor the vehicle with respect to a parking space, through an augmentedreality interface, the augmented reality interface comprising athree-dimensional vehicle model based on the vehicle dimensions, thethree-dimensional vehicle model being placed onto images or a physicalscene of the parking space, the augmented reality interface beingconfigured to allow a user to selectively place the three-dimensionalvehicle model in the parking space to determine the desired parkingposition; and an automatic parking system configured to cause thevehicle to autonomously park in the desired parking position based on avirtual parking procedure, wherein the desired parking space iscustomizable in order to allow the vehicle to be parked offset from amiddle of the parking space.
 8. The system according to claim 7, furthercomprising an attachment sensing device that is configured to determineattachment of an object to the vehicle, wherein the automatic parkingsystem is configured to cause the vehicle to autonomously park in thedesired parking position without adjusting the desired parking position,and wherein the vehicle model has an adjustable transparency level inorder to allow the user to see what is around the vehicle model whenparked in the desired parking position.
 9. The system according to claim8, further comprising a sensor platform that is configured to determinea position and dimensions of the attached object.
 10. The systemaccording to claim 9, further comprising an augmented reality devicecomprising a processor and memory, the processor executing instructionsstored in the memory to receive from the vehicle platform the vehicledimensions, the instructions comprising: a virtual content generatorthat: obtains images or a 3D scan of the parking space; generates thethree-dimensional vehicle model based on the vehicle dimensions; anddetermines parking space dimensions of the parking space; a virtualcontent manipulator that allows the user to selectively place thethree-dimensional vehicle model using the parking space dimensions ofthe parking space; a collision calculation and avoidance module thatdetermines clearance of the vehicle with respect to a physical objectadjacent to the parking space as the vehicle is being virtually driveninto the parking space during the virtual parking procedure; a virtualdisplay registration and rendering module that generates an augmentedreality display that includes the three-dimensional vehicle modelrelative to the parking space; and a parking position generator thatdetermines the desired parking position for the vehicle, the desiredparking position being transmitted to the vehicle platform.
 11. Thesystem according to claim 10, wherein the automatic parking system isconfigured to: receive the desired parking position; determine anautonomous parking procedure based on the current vehicle position andthe desired parking position; and execute the autonomous parkingprocedure to park the vehicle in the desired parking position.
 12. Thesystem according to claim 10, wherein the three-dimensional vehiclemodel includes the dimensions of the attached object in combination withthe vehicle dimensions.
 13. The system according to claim 12, whereinthe dimensions of the attached object are represented as a bounding boxin combination with the three-dimensional vehicle model.
 14. The systemaccording to claim 10, wherein the collision calculation and avoidancemodule determines clearance by comparing surfaces of thethree-dimensional vehicle model with physical constraints imposed by thephysical object as the three-dimensional vehicle model changes position.15. The system according to claim 14, wherein the sensor platform of thevehicle scans the physical object to determine the physical constraints.16. The system according to claim 10, wherein the virtual contentgenerator is configured to alert the user when a collision is detectedbetween the three-dimensional vehicle model and the physical object. 17.The system according to claim 16, wherein the collision calculation andavoidance module is configured to determine a suggested parking positionfor the vehicle based on the collision, the suggested parking positionbeing displayed to the user.
 18. The system according to claim 10,wherein the parking position generator is configured to compute arelative position and orientation of the three-dimensional vehicle modelin the desired parking position from the current vehicle position of thevehicle.
 19. The system according to claim 18, wherein the vehicleplatform is configured to store the desired parking position to allowthe user to reuse the desired parking position.
 20. The system accordingto claim 19, wherein the vehicle platform is configured to: determinethat the vehicle is at the parking space; retrieve the desired parkingposition that is stored in memory; and cause the vehicle to park in theparking space at the desired parking position.